import axios from './utils/request'
// openid: 用户唯一标识
// session_key: 会话密钥
// unionid: 同一个微信开放平台下的用户唯一标识

// 别的页面获取App()实例  //todo const app = getApp() app.globalData.userInfo
App({
  globalData: {
    userInfo: null,
    token: null,
    binded: false,
    systemInfo: {},
    commonURL: 'http://192.168.1.110:8088'
  },
  onLaunch: function () {
    // 展示本地存储能力
    var logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)

    //* ** 登录 ***/
    wx.login({
      success: res => {
        axios
          .request(`${this.globalData.commonURL}/auth/login`, {
            data: {
              loginId: res.code,
              loginType: 'OPENID',
              loginChannel: 'WX_APPLET'
            },
            method: 'POST'
          })
          .then(res => {
            if (res.data.code === '0') {
              this.globalData.token = res.data.data.token
              this.globalData.binded = res.data.data.binded
              wx.setStorageSync('OPENIDTOKEN', res.data.data.token)
              if (this.globalData.binded) {
                wx.switchTab({
                  // url: '/pages/logistics/logistics-tabs/logistics-tabs'
                })
              }
            }
          })
      }
    })

    //* ** 获取用户信息 ***/
    wx.getSetting({
      success: res => {
        console.log(res, '查看所有设置信息')
        if (res.authSetting['scope.userInfo']) {
          // 已经授权，可以直接调用 getUserInfo 获取头像昵称，不会弹框
          wx.getUserInfo({
            success: res => {
              // 可以将 res 发送给后台解码出 unionId
              this.globalData.userInfo = res.userInfo // 设置用户信息给全局
              // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
              // 所以此处加入 callback 以防止这种情况
              if (this.userInfoReadyCallback) {
                this.userInfoReadyCallback(res)
              }
            }
          })
        }
      }
    })

    //* ** 获取用户信息2 ***/
    // wx.getUserInfo({
    //   success: res => {
    //     console.log(res, '获取用户信息')
    //     app.globalData.userInfo = res.userInfo
    //     this.setData({
    //       userInfo: res.userInfo,
    //       hasUserInfo: true
    //     })
    //   }
    // })

    //* ** 微信运动 ***/
    // wx.getWeRunData({
    //   success (res) {
    //     const encryptedData = res.encryptedData // 拿 encryptedData 到开发者后台解密开放数据
    //     const cloudID = res.cloudID // 或拿 cloudID 通过云调用直接获取开放数据
    //     console.log(cloudID, 'cloudID')
    //   }
    // })

    //* ** 获取设备信息 ***/
    try {
      const res = wx.getSystemInfoSync()
      this.globalData.systemInfo = res
      console.log(this.globalData.systemInfo)
      console.log(res.model)
      console.log(res.pixelRatio)
      console.log(res.windowWidth)
      console.log(res.windowHeight)
      console.log(res.language)
      console.log(res.version)
      console.log(res.platform)
    } catch (e) {}

    //* ** 账户信息 ***/
    try {
      const accountInfo = wx.getAccountInfoSync()
      console.log(accountInfo.miniProgram.appId, '小程序appId')
      // console.log(accountInfo.plugin.appId,"插件appId")
      // console.log(accountInfo.plugin.version,"插件版本号,'a.b.c' 这样的形式")
    } catch (e) {}
  }
})

// ——————————————————————————————————————————————————————————————————————————
// 存储全局数据
//  globalData: {
//   userInfo: null,
//   systemInfo:{}
// }
// 获取应用实例，与使用globalData的数据
//  const app = getApp()
// this.setData({
//   userInfo: app.globalData.userInfo,
//   hasUserInfo: true,
//   systemInfo: app.globalData.systemInfo
// })
